widget: Add a function that does actual resize
authorBenjamin Otte <otte@redhat.com>
Sun, 27 Sep 2015 10:29:05 +0000 (12:29 +0200)
committerBenjamin Otte <otte@redhat.com>
Wed, 28 Oct 2015 18:44:28 +0000 (19:44 +0100)
It's just shuffling code around.

gtk/gtksizegroup.c
gtk/gtkwidget.c
gtk/gtkwidgetprivate.h

index 11f050c624d262b8631572477c438892e5e07b27..3eddc1fddb84f9542467efe46d63633f639d0903 100644 (file)
@@ -26,7 +26,6 @@
 #include "gtktypebuiltins.h"
 #include "gtkprivate.h"
 #include "gtksizegroup-private.h"
-#include "gtksizerequestcacheprivate.h"
 #include "gtkwidgetprivate.h"
 #include "gtkcontainerprivate.h"
 
@@ -218,8 +217,7 @@ queue_resize_on_widget (GtkWidget *widget,
 
   do
     {
-      _gtk_widget_set_alloc_needed (parent, TRUE);
-      _gtk_size_request_cache_clear (_gtk_widget_peek_request_cache (parent));
+      gtk_widget_queue_resize_on_widget (parent);
 
       if (!check_siblings || _gtk_widget_get_sizegroups (parent) == NULL)
        {
index b0713bff44489066c7ced0312bc8b188eb60a3ea..4b341530393148fad29237f2e98751d06daea189 100644 (file)
@@ -16157,10 +16157,12 @@ _gtk_widget_get_alloc_needed (GtkWidget *widget)
 }
 
 void
-_gtk_widget_set_alloc_needed (GtkWidget *widget,
-                              gboolean   alloc_needed)
+gtk_widget_queue_resize_on_widget (GtkWidget *widget)
 {
-  widget->priv->alloc_needed = alloc_needed;
+  GtkWidgetPrivate *priv = widget->priv;
+
+  priv->alloc_needed = TRUE;
+  _gtk_size_request_cache_clear (&priv->requests);
 }
 
 void
index aefa4f8699a8985f97a0e1d8d187eb11f58c5cf1..aa692303015d8cfdc2be6a3b255ed0e84fa52b7c 100644 (file)
@@ -72,6 +72,7 @@ struct _GtkWidgetPrivate
   guint in_reparent           : 1;
 
   /* Queue-resize related flags */
+  guint resize_needed         : 1; /* queue_resize() has been called but no get_preferred_size() yet */
   guint alloc_needed          : 1;
 
   /* Expand-related flags */
@@ -165,8 +166,7 @@ gboolean     _gtk_widget_get_shadowed       (GtkWidget *widget);
 void         _gtk_widget_set_shadowed       (GtkWidget *widget,
                                              gboolean   shadowed);
 gboolean     _gtk_widget_get_alloc_needed   (GtkWidget *widget);
-void         _gtk_widget_set_alloc_needed   (GtkWidget *widget,
-                                             gboolean   alloc_needed);
+void         gtk_widget_queue_resize_on_widget (GtkWidget *widget);
 void         _gtk_widget_draw               (GtkWidget *widget,
                                             cairo_t   *cr);
 void          _gtk_widget_scale_changed     (GtkWidget *widget);